home *** CD-ROM | disk | FTP | other *** search
/ MacAddict 69 / MacAddict_069_2002_05.iso / Software / Development / REALbasic Carbon 4 Trial.dmg / REALbasic 4 / Read Me's / REALbasic 4 Release Notes.txt < prev    next >
Text File  |  2002-01-06  |  77KB  |  1,790 lines

  1. Key:
  2. [Opt] = Optimization
  3. [Bug] = Bug Fix
  4. [Imp] = Improvement on bug, but major problems still exist
  5. [New] = New Feature
  6. [Chg] = Changes Previous Functionality
  7. [Kis] = Known Issue
  8. [Wrk] = WorkAround
  9. [WrB] = WorkAround broken as a result of bug fix.
  10. [Nlr] = No Longer Reproducible, Reason Unknown. Usually a consequence of
  11.         some other fix.
  12. [FYI] = Please note.
  13. [Tip] = Here's a handy piece of information.
  14. (All) = All
  15. (Mac) = Mac OS compiled applications, and possibly the IDE.
  16. (68K) = 68K compiled applications, and possibly the IDE running on a 68K
  17.         Mac.
  18. (Win) = One of the flavors of Microsoft Windows (NT, 9x, 2000, Me)
  19. (IDE) = REALbasic, the application
  20. (OSX) = Mac OS X DP4 or later
  21. (Car) = Carbon version of the Mac OS or IDE (CarbonLib 1.2.5, Mac OS 8.6
  22.         and higher, and Mac OS X 10.0 or later)
  23.  
  24. 4.0.1b3 -- 2002/01/04
  25. [Fix] (IDE) App Deactivation: switching from REALbasic to some other app
  26.       and back now reliably deactivates and reactivates REALbasic
  27.       (including hiding the floating palettes, etc.).
  28.  
  29. [Fix] (All) Database: accessing the error code or message no longer crashes.
  30.  
  31. [Fix] (All) Database -- Postgres Plugin: updating boolean fields now work.
  32.  
  33. [Fix] (IDE) External Windows: can now be renamed.
  34.  
  35. [Fix] (IDE) External Project Items: can now be relocated even when the
  36.       external item is not found (extends an earlier fix for movies,
  37.       pictures, and sounds, to things like external windows and classes).
  38.  
  39. [Fix] (All) Listbox: Headers of the listbox now depress again.
  40.       Broken for Win32 and OS X in 4.0.1b1
  41.  
  42. [Fix] (All) Serial Control: data not read before additional data arrives is
  43.       no longer lost; fixes bug introduced in 4.0a4.
  44.         
  45. [Fix] (Mac) TabPanel: background color of checkboxes (etc.) on a TabPanel is
  46.       now correct on MacOS versions prior to 8.5.
  47.  
  48.  
  49. 4.0.1b2 -- 2002/01/03
  50. [Fix] (IDE) Build Settings Dialog: REALbasic now will no longer overwrite
  51.       the project file with a Mac or Windows built application.  This
  52.       protection was in place previously only for Mac applications and
  53.       didn't work in cases where the name was the same but the
  54.       capitalization was different.
  55.  
  56. [Fix] (OSX) Canvas: focus ring is now completely erased when a canvas loses
  57.       the focus.
  58.  
  59. [Fix] (Car) EditField: option-drag of text within a field now does a copy
  60.       rather than move.
  61.  
  62. [Fix] (Car) EditField: drop of text is no longer accompanied by an improper
  63.       "fly-back" effect.
  64.  
  65. [Fix] (All) Listbox: Editable Cells now scroll into view even when the row
  66.       and column of the editable cell are both 0.
  67.  
  68. [Fix] (Win) Listbox: Editable Cell contents are no longer invisible when the
  69.       cell initially gets the focus.
  70.  
  71. [Fix] (Win) Listbox: Editable Cells now invoke the CellLostFocus and
  72.       CellGainedFocus events when the current editable cell changes.
  73.  
  74. [Fix] (All) Office plugins: objects passed back as variants are now
  75.       accessible instead of returning nil. For example, getting the
  76.       Style class of a Paragraph in Word returns a variant object,
  77.       which you can now cast as a WordStyle object.
  78.  
  79. [Fix] (All) Office plugins: getter/setter functions with variant parameters
  80.       are now optional. For example, getting/setting the Range of an
  81.       Excel Spreadsheet no longer requires 2 parameters.
  82.  
  83. [Fix] (Mac) RbScript: arrays used in functions or subs no longer cause
  84.       random corruption of local variables and unpredictable crashes.
  85.  
  86. [Fix] (All) RbScript: Oct function no longer returns spurious trailing zero.
  87.  
  88. [Fix] (All) RbScript: properties declared Private are now accessible to
  89.       subclasses.
  90.  
  91. [Fix] (All) Rb3DSpace: SkyColor is no longer lost when this control is
  92.       resized.
  93.  
  94.  
  95. 4.0.1b1 -- 2001/12/21
  96. [Imp] (Mac) Listbox: Improved speed of selecting rows
  97.  
  98. [Imp] (Mac) Listbox: Other speed improvements.
  99.  
  100. [Fix] (Mac) Window: Keydown no longer leaks memory.
  101.  
  102. [Fix] (Mac) Listbox: No longer slows down over time.
  103.  
  104. [New] (Win) Listbox: Drastically reduced flicker when scrolling.
  105.  
  106. [Fix] (All) Listbox: Reduced flicker caused by clicking on a listbox header.
  107.  
  108. [Kis] (Win) Listbox: Editable Cell contents are initially invisible.
  109.  
  110. [Chg] (Mac) Build Settings Dialog: Increased the preferred memory to better
  111.       reflect new features of 4.0.
  112.  
  113.  
  114. 4.0 -- 2001/12/18
  115. [Imp] (Win) Listbox: The second click in an editable cell, now moves the
  116.       cursor.
  117.  
  118. [Fix] (All) Listbox: Pressing "Return" or "Esc" in an editable cell now
  119.       causes the focus to return to the listbox.
  120.  
  121. [Fix] (Mac) Listbox: The focus ring is now removed after a "Return" or
  122.       "Esc" in an editable cell.
  123.  
  124. [Fix] (All) Listbox: The listbox no longer scrolls to the right after a
  125.       return followed by an additional keypress.
  126.  
  127. [Fix] (Win) Listbox: Added support for multiple discontiguous selection
  128.       on Win32 using the control  key.
  129.  
  130. [Fix] (Mac) RbScript: code generator bug which caused running scripts to
  131.       do all sorts of incorrect things (freeze, report incorrect data,
  132.       take the wrong branch of an "if" for no good reason, etc) has been
  133.       repaired.
  134.  
  135. [Fix] (Mac) RbScript: user-written functions which accept multiple
  136.       non-floating-point parameters no longer receive bogus values in
  137.       all parameters but the first.
  138.  
  139. [Fix] (Mac) RbScript: Scripts which use ByRef parameters no longer fail
  140.       a Parser.cpp assertion.
  141.  
  142. [Fix] (All) RbScript: Comments no longer confuse the line counter; line
  143.       numbers reported in CompileError events are thus less likely to be
  144.       erroneous.
  145.  
  146. [Fix] (All) RbScript: compiler no longer crashes when you try to pass a
  147.       literal as a byref parameter.
  148.  
  149. [Fix] (Mac) Editfield: Fixed a leak in the Editfield.
  150.  
  151. [Kis] (All) Some circumstances can cause a delay when selecting rows in
  152.       a listbox. Syptoms may include incorrect row selection if mouse is
  153.       moved rapidly.
  154.  
  155.  
  156. 4.0fc1 -- 2001/12/17
  157. [Chg] (Car) Unicode Editing: No longer test some assertions in
  158.       AtsuEdit.cpp.
  159.  
  160. [Fix] (All) Listbox: Editable cells no longer jump a pixel to the
  161.       right when the cell gets the focus.
  162.  
  163. [Fix] (All) Listbox: Editable cells now scroll properly with the
  164.       listbox.
  165.  
  166. [Fix] (All) Listbox: Editable cells now come into view if the user
  167.       types in the cell.
  168.  
  169. [Fix] (Mac) RbScript: memory is no longer corrupted when source
  170.       property is changed.
  171.  
  172. [Fix] (Mac) RbScript: now initializes temporary storage space, which
  173.       fixes a memory corruption bug.
  174.  
  175. [Fix] (Mac) TabPanel: Controls on a tabPanel no longer cause problems
  176.       on OS 8.0 and 8.1.
  177.  
  178.  
  179. 4.0b5 -- 2001/12/16
  180. [Fix] (Mac) File dialogs: drawing of contents from other windows into
  181.       these dialogs has been fixed.
  182.  
  183. [Fix] (Mac) Listbox: The selected row now moves when the listbox is
  184.       sorted. This fix only applies to listboxes with single
  185.       selection specified.  This is still an issue with
  186.       listboxes with multiple selection specified.
  187.  
  188. [Fix] (Mac) Modal dialogs: now properly re-activate when you switch
  189.       out to another app and then switch back by clicking in the
  190.       dialog content area.
  191.  
  192. [Fix] (Mac) MultiLine Editor: Added space between buttons to
  193.       accomodate OS X.
  194.  
  195. [Fix] (Mac) Properties Window: Fixed Big Ugly Button that used
  196.       to pop-up occasionally in the properties window,
  197.       especially on OS X.
  198.  
  199. [Fix] (Mac) RbScript: PartialRun works again [broken with introduction
  200.       of native code compiler]
  201.  
  202. [Fix] (All) RbScript: State property is now updated when a script
  203.       finishes running.
  204.  
  205. [Fix] (Car) RbScript: assertion failure at CGPPC.cpp:786 no longer
  206.       occurs.
  207.  
  208.  
  209. 4.0b4 -- 2001/12/13
  210. [New] (Car) EditField: Unicode input is now supported.  This allows
  211.       you to use key layouts such as "Extended Roman."  However,
  212.       this works only in built apps, not within the IDE.
  213.  
  214. [Fix] (All) Dictionary: freeze when adding more than 32746 items has
  215.       been fixed.
  216.  
  217. [Fix] (Mac) EditField: multi-line EditFields with a horizontal
  218.       scrollbar on classic MacOS no longer have
  219.       strange selection-drawing behavior.
  220.  
  221. [Fix] (Mac) EditField: MouseDown event can no longer disrupt the
  222.       display of the field if you do something that changes the
  223.       graphics state, such as assigning to a StaticText.
  224.  
  225. [Kis] (Mac) EditField: MouseDown event -- returning true from this
  226.       event does not actually stop the EditField from processing
  227.       the click, as it does under Carbon.  This will probably
  228.       change in the future.
  229.  
  230. [Fix] (Car) EditField: flicker that appears while typing in a Carbon
  231.       app under classic MacOS has been reduced.
  232.  
  233. [Fix] (Car) EditField: selection point is now at start rather than end
  234.       of text when a field first opens, or after assigning to
  235.       the Text property, or using SetTextAndStyle.
  236.  
  237. [Fix] (Car) EditField: now behaves more like the Classic EditField if
  238.       you do something nutty like change the selStart property
  239.       in the SelChange event.
  240.  
  241. [Fix] (Car) EditField: dragging text over a field, but then dropping
  242.       it elsewhere, no longer leaves behind a visual indication
  243.       of the last potential drop position.
  244.  
  245. [Fix] (Win) EditField.SetTextAndStyle: no longer causes strange redraw
  246.       problems.
  247.  
  248. [Fix] (OSX) External Project Items: crash that could occur when
  249.       control-clicking an external item (such as a picture)
  250.       whose external file can't be found.
  251.  
  252. [Fix] (Mac) Listbox: Calling GetPixel/SetPixel in the
  253.       CellBackgroundPaint or CellTextPaint events will no longer
  254.       cause an outofbounds exception in cases where the cell is
  255.       partly scrolled offscreen.  GetPixel will return a white
  256.       pixel and set pixel will be ignored.
  257.  
  258. [Fix] (All) Listbox: When entering a cell for the purposes of editing
  259.       by either clicking in an editable cell or using the
  260.       editCell method, the entire text is now selected, instead
  261.       of some of it.  This selection also now occurs before the
  262.       CellGotFocus so you can change it in that event if desired.
  263.  
  264. [Fix] (All) Listbox: Editable cells now clip to the bounds of the
  265.       listbox again.
  266.  
  267. [Fix] (IDE) New Project: now always considered unmodified, even after
  268.       declining to save the last project.
  269.  
  270. [Fix] (IDE) PopupMenu: baseline alignment has been corrected;
  271.       previously off by 1 pixel.
  272.  
  273. [Fix] (IDE) Project: importing a class that replaces an existing class
  274.       of the same name now updates all controls and subclasses
  275.       of that class, so you should immediately be able to run.
  276.  
  277. [Fix] (All) RbScript: fixed some problems with variant type
  278.       conversions.
  279.  
  280. [Fix] (Win) Shell: fixed possible memory corruption when retrieving
  281.       the result string.
  282.  
  283. [Fix] (Mac) Socket: Fixed memory leak caused by connecting before the
  284.       previous connect request finished.
  285.  
  286. [Fix] (Mac) Socket: Attempts to connect to the same address and port
  287.       of a socket are ignored if the connection is already in
  288.       progress, this makes it possible to call connect in a
  289.       timer.  If you want to start a new connection, close the
  290.       connection first and then call connect, or change the
  291.       address and port.
  292.  
  293. [Fix] (Win) UnhandledException event on Application class catches
  294.       otherwise unhandled exceptions. The event can return True
  295.       if it handles the event and False if it wants REALbasic's
  296.       default unhandled exception processing to occur.
  297.  
  298.  
  299.  
  300. 4.0b3 -- 2001/12/11
  301. [New] (Car) EditField: copy/paste now supports Unicode (UTF-16) data
  302.       (standard Mac type 'utxt').
  303.  
  304. [New] (All) RbScript: new array method "Pop" removes the last element
  305.       of the array and returns its value.
  306.  
  307. [New] (All) RbScript: now supports second parameter for the Ubound
  308.       function, as in REALbasic itself.
  309.  
  310. [New] (All) RbScript: now catches nil object exceptions instead of
  311.       allowing the script to crash.
  312.  
  313. [Fix] (IDE) 68k: Fixes a problem that could occur when your project
  314.       had specified using 68k and 68k only.
  315.  
  316. [Fix] (IDE) Build Settings Dialog: If you inadvertently type a smaller
  317.       suggested size than minimum size, REALbasic will up your
  318.       suggested size to the minimum value.
  319.  
  320. [Fix] (IDE) Build Settings Dialog: REALbasic now warns you if you have
  321.       2 or more application with the same name, specified in the
  322.       build dialog and won't let you dismiss the dialog until
  323.       you fix them.
  324.  
  325. [Fix] (IDE) Compiling: assertion failure at "compile.cpp:7071" has
  326.       been fixed.
  327.  
  328. [Fix] (OSX) Listbox: Non-Hierarchical listboxes on OS X no longer
  329.       highlight the cell text.  A row highlight is still
  330.       performed but can be overridden by code in the
  331.       CellBackgroundPaint as always.
  332.  
  333. [Fix] (Mac) Listbox: Listbox Headers now auto-deactivate when the
  334.       REALbasic app goes into the background.
  335.  
  336. [Fix] (OSX) Listbox: A ColumnSortDirection of 0 (Don't sort) will no
  337.       longer show the sort widget in the header even if you are
  338.       currently depressing the header.
  339.  
  340. [Fix] (All) Listbox: CellClick event now returns the correct x value
  341.       and not the correct value + 1.
  342.  
  343. [Fix] (All) Listbox: Rowpictures moved down a pixel to behave more
  344.       like they did in 3.5.
  345.  
  346. [Fix] (All) PopupMenu.RowTag: a nilobject exception is now raised when
  347.       converting a non-existent rowtag value.
  348.  
  349. [Fix] (IDE) Project Window: "New Subclass" contextual menu command has
  350.       returned for class items.  (Disappeared in 4.0a5.)
  351.  
  352. [Fix] (PPC) RbScript: objects no longer get unlocked twice (this
  353.       sometimes led to crashes).
  354.  
  355. [Fix] (All) RbScript: no longer allows you to ignore function results.
  356.  
  357. [Fix] (All) RbScript: Spurious type mismatch errors when passing a
  358.       reference variable or object property to a method have
  359.       been suppressed.
  360.  
  361. [Fix] (All) RbScript: peculiar string behaviour, sometimes resulting
  362.       in crashes, has been corrected.
  363.  
  364. [Fix] (All) RbScript: arrays of objects no longer cause massive memory
  365.       leaks.
  366.  
  367. [Fix] (All) RbScript: ReDim'ing an array of strings no longer causes
  368.       occasional crashes.
  369.  
  370. [Fix] (Win) Strings: comparing an empty string with a string with null
  371.       character(s) now works like it does on the Mac.
  372.  
  373. [Fix] (OSX) TabPanel: now draws with surrounding area properly
  374.       matched to the background.  Also, most controls draw
  375.       properly on top of the TabPanel, but see [Kis] below.
  376.  
  377. [Chg] (All) Control hierarchy: removed control hierarchy behaviour.
  378.       Controls now behaves like they did before 4b1.
  379.  
  380. [Kis] (OSX) LittleArrows, ChasingArrows: don't properly draw on top of
  381.       a tab panel if the window has a solid background color.
  382.  
  383. [Kis] (All) TabPanels: embedding tabpanels is not possible.
  384.  
  385.  
  386.  
  387. 4.0b2 -- 2001/12/07
  388. [New] (IDE) Copying a control now copies all its embedded controls as
  389.       well, same with cutting, all embedded controls are also cut.
  390.  
  391. [Fix] (IDE) Build Settings: The non-release field is now larger so
  392.       that you can type more than 1 digit.
  393.  
  394. [Fix] (IDE) Build Settings Dialog: Macintosh Application name fields
  395.       never inappropriately enabled.
  396.  
  397. [Fix] (IDE) External Windows, Classes, and Modules: now written to
  398.       (and read from) XML-format project files.  Previously they
  399.       were omitted from XML files.
  400.  
  401. [Fix] (IDE) Listbox: Focus Rings no longer appear in the Window Editor
  402.       around listboxes.
  403.  
  404. [Fix] (IDE) Menu Editor: modifier keys (shift, command, option, and
  405.       control) are now drawn properly in the menu display; the
  406.       command-key glyph also now draws correctly in localized
  407.       builds of the IDE (e.g., Japanese).
  408.  
  409. [Fix] (IDE) Option dragging of multiple selected controls now fixed.
  410.  
  411. [Fix] (IDE) Quit and Hide commands (in OS X): now properly
  412.       localizable.
  413.  
  414. [Fix] (All) Database -- REALdb: fixed a potential crash when selecting
  415.       from an empty table (i.e. no records).
  416.  
  417. [Fix] (All) Listbox: REALbasic no longer will attempt to draw the text
  418.       of a listbox cell if there is none. This fixes a problem
  419.       manifest when using a large RowPicture and no text on OS
  420.       X, and will improve performance On Cells that don't have
  421.       text.  NOTE: The CellTextPaint event will still fires and
  422.       behaves exactly as it used to.
  423.  
  424. [Fix] (All) Listbox CellBorders: Improved drawing when 2 listbox cells
  425.       have borders of differing types.
  426.  
  427. [Fix] (All) Listbox CellBorders: Improved the look of borders
  428.       surrounding one cell in a listbox.
  429.  
  430. [Fix] (All) Listbox Editable Cell: Now honors the current font size
  431.       when editing a cell.
  432.  
  433. [Fix] (All) Listbox Editable Cell: Focus rings around cells look much
  434.       better.
  435.  
  436. [Fix] (All) RegEx: Now only matches and replaces the empty string once
  437.       (and only once) in a Replace call where ReplaceAllMatches
  438.       is set.  technically, if we allowed it, the Replace should
  439.       go on forever, but this does no good to anyone.  The new
  440.       behavior is more in line with what one would expect (i.e.
  441.       it doesn't hang your machine). Here is an example of how
  442.       to cause this.  Set "$" to the search pattern and "a" as
  443.       the replacement pattern. Since "$" matches the end of the
  444.       string, it will always match so ReplaceAll didn't know
  445.       when to terminate, now we terminate after replacing one
  446.       empty string. Note: If a user implements their own
  447.       "Replace All" based on successive calls to Replace they
  448.       are responsible for seeing to it that they don't loop
  449.       infinitely in this case.
  450.  
  451. [Fix] (IDE) SpriteSurface: fixed spritesurface crash on close.
  452.  
  453. [Fix] (All) TabPanels: it is now possible to embed TabPanels within
  454.       TabPanels.
  455.  
  456. [Fix] (Mac) FolderItem.OpenAsPicture: 8-bit images in formats other
  457.       than PICT are now read with the correct color palette
  458.       (PICT files were always read correctly).
  459.  
  460. [Fix] (Mac) Timer: Macs that have been up more than 25 days no longer
  461.       cause Timers to fail to start.
  462.  
  463. [Fix] (Mac) UnicodeConverter library: now weak-linked, so you should
  464.       be able to once again launch REALbasic even with
  465.       extensions off.
  466.  
  467. [Fix] (Car) EditField: Input Manager inline input now draws underline
  468.       to show the input state.
  469.  
  470. [Fix] (Car) EditField: Alignment <> 0 now behaves better on fields
  471.       with a horizontal scrollbar.
  472.  
  473. [Fix] (Car) EditField: dropping text into a field now fires the
  474.       TextChange event.
  475.  
  476. [Fix] (Car) EditField: now shows inactive/disabled state by "graying
  477.       out" the text.
  478.  
  479. [Fix] (Car) TabPanel: a control that is on top of another control that
  480.       is on a tabpanel now properly draws the background color
  481.       to match the tabpanel.
  482.  
  483. [Fix] (OSX) Graphics.DrawString: Malloc warnings no longer appear in
  484.       the Console when drawing characters with ASCII values less
  485.       than 32.  Also fixes a memory leak caused by such drawing.
  486.  
  487. [Fix] (OSX) Listbox Headers: Headers now get a depressed look on OS X
  488.       when appropriate.
  489.  
  490. [Fix] (OSX) Listbox Headers: No longer draws the dark grey line
  491.       underneath the listbox headers.  The line is a holdover
  492.       from very early prerelease version of OS X.
  493.  
  494. [Chg] (IDE) Code Browser: Events in left pane of the Code Browser are
  495.       now sorted alphabetically.  The event that appears
  496.       initially when editing may no longer be the first item on
  497.       the list. We have changed the initial event of a few
  498.       controls to better suit how people are likely to work.
  499.       This won't affect your code.
  500.  
  501. [Chg] (Mac) EditField: new ATSUI-based EditField is now used only in
  502.       Carbon; classic builds now revert to the same technology
  503.       (TextEdit and WASTE) used in 3.5 and earlier versions of RB.
  504.  
  505.  
  506. 4.0b1 -- 2001/12/04
  507. [New] (IDE) Build Settings Dialog: Added a new field to specify the
  508.       Mac OS X/Carbon name.  This new field is also accessible using
  509.       Applescript via the new buildMacCarbonName property of the class document
  510.       in the standard suite.
  511.  
  512. [New] (IDE) Build Settings Dialog: Added new menu option "Build Application..."
  513.       that builds without hassling you with the dialog.  To show the dialog the
  514.       old menu option has been renamed "Build Settings..."  you can now dismiss
  515.       this dialog without building for your convience.  The Build process is
  516.       still AppleScriptable and Recordable.
  517.  
  518. [Chg] (IDE) Built Application  Name: The default built application name has
  519.       been changed from "AppName", to some variant of "My Application".
  520.  
  521. [New] (IDE) Make Application: when successful, the newly-created application(s)
  522.       is (are) revealed and selected in the Finder.
  523.  
  524. [New] (IDE) Control-C: now halts an app running within the IDE even when no
  525.       code is executing.
  526.  
  527. [New] (IDE) Find And Replace: The state of the Advanced options is now saved.
  528.  
  529. [New] (All) Listbox: Added a sort method.  This resorts the data based on the
  530.       current HeadingIndex and ColumnSortDirection.  Although HeadingIndex will
  531.       also do this, we strongly encourage you to use the new function.
  532.       HeadingIndex will most likely be deprecated in the next major revision of
  533.       REALbasic.
  534.  
  535. [New] (IDE) Preferences: added font size of 0 to the default control font size
  536.       popup.
  537.  
  538. [Fix] (All) Array.Insert: now works correctly for arrays of type Single;
  539.       previously inserted garbage.
  540.  
  541. [Fix] (All) Array.Insert: now works correctly for the boundary case when the
  542.       insertion position is equal to the array's UBound()+1; in this case, it's
  543.       equivalent to array.Append.
  544.  
  545. [Fix] (Win) Controls: font size of 0 will now default to 12 on Windows.
  546.  
  547. [Fix] (IDE) Compiler: now catches as an error cases like "me.someControl" or
  548.       "someControl.someOtherControl", with the error message "Controls can't be
  549.       accessed by name via other controls".  Previously such cases would crash
  550.       or cause other run-time errors.
  551.  
  552. [Fix] (Mac) Database -- OpenBase plugin: No longer reports a "Cannot update
  553.       cursor unless query includes _rowid field" when performing a selection or
  554.       moving next.
  555.  
  556. [Fix] (Mac) EditField: caret position in an empty paragraph is now more
  557.       correct, even when the field alignment is set to 2 (centered) or 3
  558.       (right-justified), or at large font sizes. [1/2 hour]
  559.  
  560. [Fix] (OSX) EditField: periods and spaces no longer trail to the right of a
  561.       right-aligned field, causing the whole field to shift to the left.
  562.  
  563. [Fix] (Mac) EditField: Focus ring now draws properly for EditFields which were
  564.       previously hidden by a TabPanel or by Visible=false, and then shown.
  565.  
  566. [Fix] (IDE) External Project Items: opening a project containing external items
  567.       no longer causes REALbasic to unexpectedly quit under OS X.
  568.  
  569. [Fix] (IDE) Find & Replace: ReplaceAll no longer causes infinite recursion when
  570.       the item you are replacing is a subset of the replacement text and the
  571.       user has successfully completed a find previously. Fixed part of the
  572.       problem in 4.0a6.
  573.  
  574. [Fix] (All) Listbox ColumnSortDirection: Setting the ColumnSortDirection from
  575.       code works in many cases where it previously didn't.  Namely: When the
  576.       header of the column being set isn't currently depressed, When the value
  577.       is 0 (Don't Sort) on an initial run, and From within SortColumn (Although
  578.       not recommended).
  579.  
  580. [Fix] (All) Listbox: CellLostFocus Event now fires whenever editing is
  581.       committed or canceled even in cases where a forced commit or cancel
  582.       occurs (e.g. DeleteAllRows).  This fixes a failed assertion.
  583.  
  584. [Fix] (All) Listbox: Sorting a listbox no longer messes up CellBorder
  585.       information.
  586.  
  587. [Fix] (IDE) Picture Project Items: if the picture file can't be found, RB will
  588.       only ask you to locate it once (even if you cancel).  But you can
  589.       control-click it to Relocate it later.
  590.  
  591. [Fix] (Car) Navigation Services: Fixed crash caused by dragging from a Finder
  592.       Pop-up Window proxy Icon into a Nav Services window on Carbon.
  593.  
  594. [Fix] (All) PopupMenu: MouseDown event no longer fires if clicking on a
  595.       disabled PopupMenu.
  596.  
  597. [Fix] (All) ScrollBars: MouseDown event no longer fires if clicking on a
  598.       disabled ScrollBar.
  599.  
  600. [Fix] (All) Sliders: MouseDown event no longer fires if clicking on a disabled
  601.       Slider.
  602.  
  603. [Fix] (All) RbScript: a bug where objects that implemented no interfaces would
  604.       occasionally set themselves equal to nil has been quashed (introduced in
  605.       4.0a6)
  606.  
  607. [Fix] (All) RegEx: You can now use Replace when the TargetString contains null
  608.       characters. (Fixed half of this problem for version 4.0a6)
  609.  
  610. [Fix] (OSX) StaticText, EditField: fixed an infinite loop (program hang) that
  611.       could occur in the IDE when setting the width of the control to less than
  612.       the width of some character it contains.
  613.  
  614. [Fix] (Mac) Windows: refresh bug which sometimes caused windows (e.g. the
  615.       toolbar) to stop drawing part of their content has now been fixed.
  616.  
  617. [Chg] (Mac) EditField: border area is now erased only under OS X, and only when
  618.       there is a border. This allows for a better appearance over colored
  619.       backgrounds that don't match the window background color, under classic
  620.       MacOS or when using borderless EditFields.
  621.  
  622. [Chg] (All) EditField: removed Boolean result in MouseUp event.
  623.  
  624. [Chg] (All) Listbox: Sort Widget no longer appears when there is no space to
  625.       draw it.
  626.  
  627. [Chg] (OSX) Listbox: Sort Widget no longer appears (on Mac OS X) when the user
  628.       has Don't Sort selected.
  629.  
  630. [Chg] (OSX) Listbox: Text is no longer white (On Mac OS X) when the user is
  631.       depressing the header.
  632.  
  633. [Chg] (All) Listbox: Text now doesn't overwrite its borders in the header if it
  634.       is too large to fit.
  635.  
  636. [Chg] (All) Listbox: ColumnSortDirection will no longer sort the data.  To
  637.       explicitly sort the data after calling ColumSortDirection we suggest you
  638.       use the new Sort function although calling HeadingIndex will also work.
  639.  
  640. [Chg] (All) Listbox: HeadingIndex no longer will re-depress the bevel button of
  641.       the listbox. this has the desired side effect of making it so that the
  642.       columnSortDirection won't change if the user writes code like this
  643.       listbox1.headingIndex = listbox1.headingIndex. Although this will work we
  644.       suggest you use listbox1.sort instead of the above.
  645.  
  646. [Chg] (IDE) Scripting REALbasic: It is no longer possible to build a 68k target
  647.       with REALbasic.  You will need to wrap the relevant code in a try block.
  648.  
  649. [Chg] (Mac) Stack Size: increased from 24K to 256K.  This allows recursion to
  650.       proceed 10 to 20 times more deeply before causing a
  651.       StackOverflowException.
  652.  
  653.  
  654.  
  655. 4.0a6 -- 2001/11/21
  656. [New] (Mac) AppleEvent.Ptr and ReplyPtr: these two new integer properties
  657.       provide pointers to the underlying AppleEvent data structures, for use
  658.       with Declares.
  659.  
  660. [New] (All) Editfield: added paragraph alignment, via the following new
  661.       properties: Alignment (integer) -- controls alignment/justification of
  662.       the entire EditField. SelAlignment (integer) -- controls
  663.       alignment/justification of the selected text -- or more accurately, the
  664.       paragraphs that include any or all of the selected text. Values for both
  665.       properties will be as follows: 0: default alignment; 1: left justified;
  666.       2: centered; 3: right justified; -1: mixed, used as the value of
  667.       SelAlignment when the selection spans multiple paragraphs which have
  668.       different alignment (Note: alignment for single-line EditFields works
  669.       only on Win2000/XP, or on MacOS where ATSUI is available.  To achieve the
  670.       same effect on older systems, use a multiline editfield without a
  671.       vertical scrollbar.  Then handle the enter/return key to prevent the user
  672.       from going to the next line.)
  673.  
  674. [New] (All) EditField: added horizontal scrollbar, and ScrollPositionX
  675.       properties. ScrollBarHorizontal (boolean) -- determines whether or not
  676.       the editfield will have a horizontal scrollbar.  If true, then the text
  677.       does not word wrap. (Note: this property cannot be set at runtime).
  678.       ScrollPositionX (integer) -- scrolls horizontally to a point (in pixels)
  679.       in the editfield. (Note: on Windows, ScrollPositionX only works for
  680.       Win2000/XP; on MacOS, it works only for systems with ATSUI, or for
  681.       multi-line EditFields.)
  682.  
  683. [New] (Mac) EditField.StyledTextPrinter: available once again.
  684.  
  685. [Kis] (Mac) EditField.StyledTextPrinter: bold text sometimes fails to draw on
  686.       some versions of MacOS. This appears to be an Apple bug, and we're
  687.       currently looking for a work-around.
  688.  
  689. [New] (All) Editfield: ScrollBar property renamed to ScrollBarVertical.
  690.  
  691. [Dep] (All) Editfield: ScrollBar property now deprecated.
  692.  
  693. [New] (All) Listbox: Added triangular sorting widgets to the headers of
  694.       listboxes.  Headers default to the ascending sort widget.  Clicking on a
  695.       header that is already depressed will switch the widget from ascending to
  696.       descending or descending to ascending.  It will also resort the data
  697.       accordingly.  If you use the CompareRows event it will automatically
  698.       handle any sort direction changes.  If you use the ResortColumns you are
  699.       responsible for handling it when the user switches sort directions.  To
  700.       get/set the sort direction manually use the following method
  701.       "ColumnsortDirection(column as integer)".  Valid sort directions are as
  702.       follows. -1 = descending, 0 = don't sort, 1 = ascending (default). Don't
  703.       sort won't sort your data, and it won't call your Resort, or CompareRows
  704.       events either. If you specify don't sort the user can't change the value
  705.       of the sort widget by clicking on it.  The sort direction can be set even
  706.       when there is no header present.
  707.  
  708. [Kis] (OSX) Listbox SortWidget: OS X doesn't provide a way to make a listbox
  709.       header appear without a sort widget.  Using Don't sort on OS X, works
  710.       functionally but will display the descending sort widget.
  711.  
  712. [Kis] (All) Listbox SortWidget: If there isn't enough room for your text and
  713.       the sort widget the widget and the text will overlap.
  714.  
  715. [New] (Mac) Listbox: When both horizontal and vertical scrollbars are used, the
  716.       "dead space" in the lower-right corner is now filled with the proper
  717.       appearance (when running on Macs with Appearance Manager 1.1 or later).
  718.  
  719. [New] (All) RbScript: classes can now declare new events using a New Event
  720.       declaration
  721.  
  722. [New] (All) RbScript: Methods can handle events using the "Handles Event"
  723.       declaration.
  724.  
  725. [New] (All) Shell: New events and properties allow interactive use of a shell
  726.       session.
  727.  
  728. [New] (Mac) System.KeyScript: this new integer property allows you to get and
  729.       set the keyboard script. The values are script systems, e.g. 0 for
  730.       MacRoman, 1 for MacJapanese, etc.  In addition, you can assign negative
  731.       numbers to get various special effects, e.g., assign -1 to switch to the
  732.       next layout in the Keyboard menu.  For more info see:
  733.       <http://developer.apple.com/techpubs/mac/Text/Text-386.html>
  734.  
  735. [Chg] (All) Database -- REALdb: trailing semi-colons are now ignored when
  736.       performing a SQL Select or Execute statement.
  737.  
  738. [Chg] (All) Database -- 4D: trailing semi-colons are now ignored when
  739.       performing a SQL Select or Execute statement.
  740.  
  741. [Opt] (Mac) EditField: performance on large amounts of text has been
  742.       substantially improved.
  743.  
  744. [Chg] (IDE) Find & Replace: "Include In Search" and "Where to Search" switched
  745.       to better match workflow.
  746.  
  747. [Chg] (IDE) Build Dialog: Build Option for 68k has been removed.
  748.  
  749. [Chg] (All) SpriteSurface: order of events within a frame has been changed for
  750.       improved convenience. On each frame, we now (1) call NextFrame; (2) check
  751.       for collisions; (3) update the screen.
  752.  
  753. [Fix] (Win) BevelButton: the background now shows through when placed on a
  754.       tabpanel.
  755.  
  756. [Fix] (Win) Checkbox, RadioButton: the background now shows through when placed
  757.       on a tabpanel.
  758.  
  759. [Fix] (Mac) EditField.Bold, Italic, Underline: setting these properties in the
  760.       IDE once again has the intended effect on the initial style of the field.
  761.  
  762. [Fix] (IDE) External Project Items: changes to properties, constants, New
  763.       Events, etc. now cause external items to be marked for saving to disk.
  764.       Also, these changes are disallowed if the external item is locked in the
  765.       Finder.
  766.  
  767. [Fix] (IDE) External Project Items: modules which are stored externally can now
  768.       access their properties in built apps without causing a
  769.       NilObjectException.
  770.  
  771. [Fix] (IDE) Find & Replace: ReplaceAll no longer causes infinite recursion when
  772.       the item you are replacing is a subset of the replacement text. e.g.
  773.       "Bana" -> "AppleBanana" (broken for Current Method Scope in 4.0a5)
  774.  
  775. [Fix] (IDE) Find & Replace: ReplaceAll now replaces all occurences of the found
  776.       item in the Current Selection Scope and the Current Method scope even
  777.       when the item is on the last line of the search.
  778.  
  779. [Fix] (IDE) Find & Replace: Advanced options hidden by default.
  780.  
  781. [Fix] (IDE) Find & Replace: "Include In Search" checkboxes now turn off when
  782.       disabled to more accurately reflect what will actually happen in your
  783.       search.
  784.  
  785. [Fix] (Car) FolderItem.DisplayName: no longer crashes in a Carbon app running
  786.       on MacOS 8 or 9.
  787.  
  788. [Fix] (Mac) Listbox: Fixed a memory leak that occurred when drawing a
  789.       disclosure triangle or a checkbox.
  790.  
  791. [Fix] (All) Listbox: 0 width (or invisible) columns no longer are visible when
  792.       they come after the last visible column in the listbox.
  793.  
  794. [Fix] (Win) OpenAsPicture: had trouble opening pictures depending on the bit
  795.       depth of the picture. Was broken in 4.0a4.
  796.  
  797. [Fix] (All) PopupMenu: MouseDown now fires if PopupMenu has no rows.  Also,
  798.       returning True from MouseDown now stops the menu from displaying.
  799.  
  800. [Fix] (Win) ProgressBar: indeterminant progressbars no longer flicker through
  801.       tabpanels.
  802.  
  803. [Fix] (All) RbScript: classes which inherit interfaces and declare properties
  804.       no longer cause crashes when cast to one of the inherited interfaces.
  805.  
  806. [Fix] (All) RbScript: overloading no longer breaks when assigning to a method.
  807.  
  808. [Fix] (All) RegEx: You can now use Replace when the TargetString contains null
  809.       characters.
  810.  
  811. [Fix] (All) RegEx: You can now use null characters in the ReplacementPattern.
  812.  
  813. [Chg] (All) RegEx: Using a null character in SearchPattern will result in a
  814.       SearchPattern exception. If you want to search for null character use
  815.       \x00 instead.
  816.  
  817. [Fix] (Mac) UnhandledException event no longer intercepts EndExceptions in
  818.       built applications.
  819.  
  820.  
  821. 4.0a5 -- 2001/11/09
  822. [New] (All) EditField.CharPosAtXY: returns the position (1-based) of the
  823.       character at pixel coordinates X,Y (relative to the EditField).
  824.       I.e., the character at position x,y is the 7th chatacter in the
  825.       editfield.
  826.  
  827. [New] (All) EditField.InsertionPosAtXY: returns the position (0-based)
  828.       of the insertion point closest to pixel coordinates X,Y (relative
  829.       to the EditField).
  830.  
  831. [New] (All) Listbox: CompareRows event added -- useful for creating
  832.       custom sorts in a listbox. See the CompareRows read me.
  833.  
  834. [New] (All) Listbox: MouseDown, MouseDrag and MouseUp events added.
  835.       Returning true in MouseDown causes the MouseDrag and MouseUp
  836.       events to fire and the default listbox click processing not to
  837.       fire.
  838.  
  839. [New] (All) RbScript: "Object" may be used with IsA; it will return true
  840.       for any non-null object. Any object may be assigned to a reference
  841.       of type Object.
  842.  
  843. [New] (All) RbScript: interfaces supported, declared via Interface...End
  844.       Interface structure. See RbScript Interfaces read me.
  845.  
  846. [New] (All) RbScript: typecasting supported. Use the desired type's name
  847.       as a function whose single argument is the object reference you
  848.       want to cast. It will either succeed or report an
  849.       IllegalExceptionError.
  850.  
  851. [New] (IDE) Find And Replace: Control names -- results are revealed in
  852.       the code browser. NOTE: None of the new options allow replacing.
  853.  
  854. [New] (IDE) Find And Replace: Declarations -- Menu Handlers, User
  855.       Property Declarations, and Method Declarations including
  856.       parameters and reveals them in the Code Browser.
  857.  
  858. [New] (IDE) Find And Replace: Project Items names -- including Classes,
  859.       Windows, folders, resources, pictures, and so on. NOTE: None of
  860.       the new options allow replacing.
  861.  
  862. [New] (IDE) Find And Replace: Property Values: NOT IMPLEMENTED YET!
  863.  
  864. [New] (IDE) Find And Replace: searches current selection in code editor.
  865.       You can now search, replace and most importantly replace all
  866.       within the current selection.
  867.  
  868. [New] (IDE) Project Window: "New Subclass" contextual menu command
  869.       creates a new subclass of the selected class.
  870.  
  871. [New] (IDE) Super property: editfield with autocompletion and a
  872.       hierarchical pop-up menu replace the old linear pop-up menu for
  873.       setting the super of a class.
  874.  
  875. [New] (IDE) Toolbar: dragging from the toolbar to the Project window now
  876.       creates a new subclass of the dragged control.
  877.  
  878. [New] (Mac) EditField.SelBold, SelTextColor, etc.: SelLength is zero now
  879.       works.
  880.  
  881. [New] (Mac) EditField: Home, End, Page Up/Down, and forward-Delete keys
  882.       now work.
  883.  
  884. [Opt] (Mac) EditField: adding text to an editfield in a loop is faster.
  885.  
  886. [Fix] (All) color properties: Hue, Saturation, and Value color
  887.       properties no longer return incorrect values when hues re in the
  888.       range 0 through 0.166667 (0 through 60 degrees). This broke in
  889.       4.0a3 for Mac OS and has always been broken for Windows.
  890.  
  891. [Fix] (All) Dictionary: Remove method no longer remove too much.
  892.  
  893. [Fix] (All) Variants: assigning a variant to a local Color variable no
  894.       longer causes an "internal compiler error."
  895.  
  896. [Fix] (Car) Floating Windows: MacProcID values not normally associated
  897.       with floating windows no longer prevent the window from floating
  898.       properlysuch as 1040, an unadorned window).
  899.  
  900. [Fix] (IDE) Arrays: NewProperty -- empty array properties, (i.e. with
  901.       Bounds of -1). [4.0a4]
  902.  
  903. [Fix] (IDE) Debugger: Exceptions no longer reported in the wrong place
  904.       (broken in 4.0a4).
  905.  
  906. [Fix] (IDE) Find And Replace: searches current selection in the project
  907.       window if a code browser window is not open. NOTE: None of the new
  908.       options allow replacing.
  909.  
  910. [Fix] (IDE) Find And Replace: wrapping in current source -- the find
  911.       will start at the current selection search downwards and wrap to
  912.       search again at the top when it reaches the bottom. NOTE: None of
  913.       the new options allow replacing.
  914.  
  915. [Fix] (IDE) Listbox: Disclosure Triangles now highlight again when
  916.       clicked upon if no CellBackgroundPaint is specified. Allowing this
  917.       with CellBackgroundPaint would unfortunately draw a grey
  918.       background behind the triangle which will most likely not match
  919.       your background, so we decided to turn highlighting off in this
  920.       case. It may be possible for us to work around this issue in some
  921.       future release of REALbasic.
  922.  
  923. [Fix] (IDE) Quitting a run within the IDE: CancelClose event errors no
  924.       longer cause attempts to quit subsequent runs to be ignored.
  925.  
  926. [Fix] (Mac) Code Browser: entering code in an item flickers less
  927.       (updating an element name from plain to bold when a user enters
  928.       code into the browser).
  929.  
  930. [Fix] (Mac) EditField.BackgroundColor: EditField redraws itself when
  931.       this property is changed.
  932.  
  933. [Fix] (Mac) EditField.CharPosAtLineNum: returns correct values.
  934.  
  935. [Fix] (Mac) EditField: caret (blinking cursor) size in a field
  936.       containing no text is now a better approximation of what it will
  937.       be when text is inserted.
  938.  
  939. [Fix] (Mac) EditField: single-line EditFields no longer show the
  940.       selection in outline mode when they don't have the keyboard focus
  941.       (multi-line EditFields continue to do so).
  942.  
  943. [Fix] (Mac) EditField:SelText: scrolls the cursor into view.
  944.  
  945. [Fix] (Mac) Listbox: flickering reduced of listboxes on TabPanels in
  946.       cases where the arrow keys are used to scroll the contents or the
  947.       contents are drag scrolled.
  948.  
  949. [Fix] (Mac) Listbox: memory leak when redrawing fixed.
  950.  
  951. [Fix] (Win) ProgressBar: indeterminant progressbars no longer show
  952.       through all tabs.
  953.  
  954. [Tip] (All) Listbox: CompareRows -- A good strategy for sorting Dates
  955.       would be to store the Date's total seconds property in a 0 width
  956.       column in your listbox (BTW -- never use columns beyond the
  957.       columncount) and when the CompareRow event fires for your date
  958.       column sort based on the total seconds column instead.
  959.  
  960.  
  961. 4.0a4 -- 2001/11/02
  962. [New] (All) Application.BalloonHelpVisible: BalloonHelp is disabled when
  963.       set to false and enabled when set to true.  Note: supported on
  964.       Windows only.
  965.  
  966. [New] (All) Dictionary class: stores one-to-one mappings of keys to
  967.       values.  Both keys and values may be any datatype.  Optimized for
  968.       rapid look-up of values regardless of the number of items it
  969.       contains (look-up time is approximately constant).
  970.  
  971. [New] (All) Function:  DocumentsFolder -- returns a folderitem that
  972.       represents the user's Documents folder.
  973.  
  974. [New] (All) KeyNotFoundException: exception type added. Raised when
  975.       attempting to access a Dictionary entry with a key that the
  976.       Dictionary does not contain.
  977.  
  978. [New] (All) Listbox: EditCell: will scroll the cell into view when
  979.       EditCell is called when the cell is not completely visible. It
  980.       performs the scroll in the most minimal way possible. E.g. if the
  981.       cell is to the right of the listbox or is overlapping its right
  982.       border, the cell will be scrolled such that its right border is
  983.       flush with the list's right border.
  984.  
  985. [New] (All) OutOfMemoryException: exception type added. Raised in
  986.       certain cases when an operation cannot be completed due to
  987.       insufficient memory.
  988.  
  989. [New] (All) Picture: HorizontalResolution and VerticalResolution
  990.       properties added. OpenAsPicture sets them, and SaveAsPicture or
  991.       ExportPicture writes them. Default resolution is 72 for creating a
  992.       new picture.
  993.  
  994. [New] (All) Sound: Pan property added -- specifies the relative volume
  995.       of the right and left channels within the range from -100 to 100.
  996.       A value of -100 mutes the right channel, and a value of 100 mutes
  997.       the left channel.  Default 0.
  998.  
  999. [New] (All) Sound: Volume property added -- specifies the output volume
  1000.       for the current sound as a percentage. Setting volume to 0 mutes
  1001.       the sound, while setting volume to 100 plays the sound with
  1002.       "normal volume" (ie. your current sound settings for your
  1003.       computer).  Default 100.
  1004.  
  1005. [New] (All) Variant: now has a number of new convenience methods and
  1006.       properties: IntegerValue: returns the value of the variant as an
  1007.       integer. ColorValue: returns the value of the variant as a color.
  1008.       DoubleValue: returns the value of the variant as a double.
  1009.       ObjectValue: returns the value of the variant as an object.
  1010.       StringValue: returns the value of the variant as a string.
  1011.       BooleanValue: returns the value of the variant as a boolean. Type
  1012.       as Integer: v.Type is equivalent to VarType(v) IsNumeric as
  1013.       Boolean: equivalent to IsNumeric(v) IsNull as Boolean: equivalent
  1014.       to IsNull(v) Hash as Integer: returns a hash value for the
  1015.       variant, i.e., one that will always be the same for any variant
  1016.       with that same value Equals(v2 as Variant) as Variant: returns
  1017.       true if v2 is the same type and has the same value as this one.
  1018.  
  1019. [New] (All) Variants: color values can now be stored in variants; their
  1020.       VarType is 16.
  1021.  
  1022. [New] (IDE) File Types: REALdb is now included in the file types
  1023.       popupmenu list.
  1024.  
  1025. [New] (IDE) Tips window: method help for overloaded subroutines now
  1026.       shows parameters in parentheses, which is the syntax required by
  1027.       the compiler.
  1028.  
  1029. [New] (Mac) EditField: Drag & drop is now supported.
  1030.  
  1031. [New] (Mac) EditField: SelCondense and SelExtend now work; these styles
  1032.       are also supported when set via style data or loaded from a styled
  1033.       text file.
  1034.  
  1035. [New] (Mac) EditField: styled copy/paste is now supported (for styled
  1036.       EditFields).
  1037.  
  1038. [New] (Mac) EditField: TextStyleData property now supported, as is
  1039.       SetTextAndStyle.
  1040.  
  1041. [New] (Mac) FolderItem: SaveStyledEditField and OpenStyledEditField now
  1042.       work.
  1043.  
  1044. [New] (Mac) UnhandledException event --  catches otherwise unhandled
  1045.       exceptions on Application class. The event can return True if it
  1046.       handles the event and False if it wants REALbasic's default
  1047.       unhandled exception processing to occur. (Not yet implemented on
  1048.       Windows.)
  1049.  
  1050. [New] (OSX) Serial Ports: available to Carbon apps running in Mac OS X.
  1051.       This includes the Serial Control, SerialPort class,
  1052.       System.SerialPortCount, and System.SerialPort.  Note that Carbon
  1053.       apps running under MacOS 8-9 cannot access serial ports; for those
  1054.       systems, build a Classic PowerPC app instead.
  1055.  
  1056. [Opt] (IDE) Code Editor: multiple uses of Delete (or forward-delete) are
  1057.       now combined into one action in the undo/redo queue.  Also
  1058.       improves editor performance under OS X.[Chg] (All) DataControl:
  1059.       data bound controls -- disabled when the ReadOnly property is set
  1060.       to true (or read only in the case of EditFields).
  1061.  
  1062. [Chg] (All) IsA method and typecasting: now report that all classes
  1063.       derive ultimately from Object. For example, x IsA Object returns
  1064.       true for any object x, and "o = someVariant" works when o is
  1065.       declared as type Object (and the variant contains any object).
  1066.  
  1067. [Chg] (All) VarType: VarType of a variant containing an object is now 9
  1068.       rather than 13, to better match the corresponding value in Visual
  1069.       Basic.
  1070.  
  1071. [Chg] (Win) MDI application: now fires the quit menu handler when the
  1072.       MDI parent window is closed. Event hierarchy for closing an MDI
  1073.       parent window now looks like this: Quit menu handler (BRAND
  1074.       NEW!!!) CancelClose (for each MDI child window) Application Close
  1075.       Close (for each MDI child window)
  1076.  
  1077. [Fix] (All) Control.Close: visual controls are now hidden before being
  1078.       deleted.
  1079.  
  1080. [Fix] (All) Database.SQLSelect: no longer crashes after 3 or more
  1081.       selections are done, this also affected the DataControl.  Was
  1082.       introduced in 4.0a3.
  1083.  
  1084. [Fix] (All) Database: PostgreSQL plug-in -- updating a record (using
  1085.       Cursor.Update) which contain null fields now works.
  1086.  
  1087. [Fix] (All) EditField: MouseDown and MouseUp -- events are now called
  1088.       appropriately.  Note that returning true from MouseDown prevents
  1089.       the EditField from handling the click.
  1090.  
  1091. [Fix] (All) Listbox: datasource can now be set in code.  Note that this
  1092.       parameter takes a string argument.  i.e. Listbox.DataSource =
  1093.       DataControl.Name
  1094.  
  1095. [Fix] (All) Listbox: Editable Cells can now be clicked in again without
  1096.       the text disappearing off to the left.
  1097.  
  1098. [Fix] (All) Listbox: Scrollbar columnwidths are now calculated more
  1099.       accurately.  This results in the last column not drawing beyond
  1100.       the listbox.  This was especially noticable when the last column
  1101.       contained an editable cell, as it would partly overwrite the
  1102.       scrollbar.
  1103.  
  1104. [Fix] (All) RbScript: Mid allows length parameter to be omitted, InStr
  1105.       allows start parameter to be omitted; these were broken in 4.0a2.
  1106.  
  1107. [Fix] (All) UBound:bounds of a multi-dimensional boolean array now
  1108.       correctly returned.
  1109.  
  1110. [Fix] (IDE) Controls: Copying a control from one window and pasting it
  1111.       to another window no longer crashes.  Broken in 4.0a3.
  1112.  
  1113. [Fix] (IDE) New Property/Edit Property Dialog: error message more
  1114.       approriate when attempting to add a property with no declaration.
  1115.       Properties with invalid declarations  can no longer be added. e.g.
  1116.       "dim myProperty as integer" , "myProperty as" or  "myproperty".
  1117.  
  1118. [Fix] (Mac) Database: OpenBase plugin -- dates and timestamps now
  1119.       retrieved and inserted in the correct format.
  1120.  
  1121. [Fix] (Mac) Database: OpenBase plugin -- now supports multiple cursors.
  1122.  
  1123. [Fix] (Mac) EditField: GotFocus and LostFocus -- events are now called
  1124.       appropriately.
  1125.  
  1126. [Fix] (Mac) EditField: incorrect word wrapping under classic MacOS has
  1127.       been fixed.
  1128.  
  1129. [Fix] (Mac) EditField: mouse cursor is now updated appropriately.
  1130.  
  1131. [Fix] (Mac) EditField: text position now matches that in 3.5 EditFields;
  1132.       this is especially  noticeable, for example, in the Properties
  1133.       window.
  1134.  
  1135. [Fix] (Mac) Listbox: ActiveCell property -- Fixed a problem where
  1136.       listboxes wouldn't dispose it. Introduced in 4.0a3
  1137.  
  1138. [Fix] (Mac) Listbox: CellGotFocus and CellLostFocus events now fire when
  1139.       moving between Listbox cells.
  1140.  
  1141. [Fix] (Mac) Listbox: contents hidden from view -- fixed several related
  1142.       occurences of where this could occur.
  1143.  
  1144. [Fix] (Mac) Listbox: focus rings displayed around the ActiveCell on all
  1145.       Mac configurations.
  1146.  
  1147. [Fix] (Mac) Listbox: highlight of rows on non hierarchical listboxes no
  1148.       longer clipped just to the width of the columns.
  1149.  
  1150. [Fix] (Mac) Listbox: multiple highlight no longer occurs on classic Mac
  1151.       listboxes that don't have double buffering.  NOTE: double
  1152.       buffering is only turned off on the Mac when there isn't enough
  1153.       memory to double buffer the listbox.
  1154.  
  1155. [Fix] (Mac) Listbox: NewPicture in a listbox's CellBackgroundPaint event
  1156.       or CellTextPaint events no longer confuses the origin of double
  1157.       buffered listboxes.
  1158.  
  1159. [Fix] (Mac) Listbox: Row Pictures are now transparent again.
  1160.  
  1161. [Fix] (Mac) RbScript: Format function no longer crashes (broken in
  1162.       4.0a1).
  1163.  
  1164. [Fix] (New) UBound: dimension parameter --  an optional second parameter
  1165.       "dimension" added. Gives the bounds of that dimension.  When left
  1166.       unspecified UBound will give the bounds of the 1st dimension.  If
  1167.       an invalid dimension is specified e.g. -4, 0, 5 (in a 4d array)
  1168.       UBound will throw an OutOfBoundsException.  NOTE: Dimensions are
  1169.       counted upwards starting at 1. SPECIAL: if you pass -1 as the
  1170.       second parameter, UBound will give you the number of dimensions in
  1171.       the Array.
  1172.  
  1173. [Fix] (Win) Listbox.KeyDown: now returns a valid key parameter.
  1174.  
  1175. [Dep] (All) Collection class: Dictionary class should be used instead.
  1176.       Collection is useful mostly for conversion of VB projects.
  1177.  
  1178. [Dep] (All) EditField: MouseUp -- return value of this event has no
  1179.       effect, and its use is deprecated.
  1180.  
  1181. [Kis] (Mac) EditField: Shadow and Outline styles are not supported by
  1182.       the new EditField, and probably never will be; consider these
  1183.       styles deprecated.
  1184.  
  1185. [Kis] (Win) Database: OpenBase plugin -- no Win32 target.
  1186.  
  1187. [Kis] (Win) Sound: midi files do not allow the pan or volume properties
  1188.       to be set when playing.
  1189.  
  1190.  
  1191.  
  1192. 4.0a3 -- 2001/10/24
  1193. [New] (All) Controls: Close method added for control classes.  Closing a
  1194.       control permanently removes the object from memory, and it can no
  1195.       longer be accessed.  You can close conventional controls, as well
  1196.       as those belonging to a control array. When closing indexed
  1197.       controls (i.e., control array controls), the indexes will shift
  1198.       accordingly to fill in the gaps. For example, if you delete index
  1199.       0, index 1 becomes 0, index 2 becomes 1, etc...
  1200.  
  1201. [New] (All) Database: 4D plug-in -- DatabaseCursor -- MovePrevious,
  1202.       MoveFirst, and MoveLast added.
  1203.  
  1204. [New] (All) Database: REALbasic Database -- DatabaseCursor --
  1205.       MovePrevious, MoveFirst, and MoveLast added.
  1206.  
  1207. [New] (All) Graphics: StringHeight method Added.  You pass it text and a
  1208.       wrapWidth, it returns the height of text as it would be drawn.
  1209.  
  1210. [New] (All) Listbox: ActiveCell property added. This is the editfield
  1211.       that the listbox is using for its editable cell operations. You
  1212.       can use this property to set or get the text of the listbox
  1213.       (selText), set the selection, or change other properties of the
  1214.       listboxes editfield. NOTE: You can not currently set the
  1215.       ActiveCell so you will not be able to use a subclass editfield as
  1216.       a substitute. NOTE: We do not guarantee that all of the features
  1217.       of the editfield make sense to use in context of a listbox.
  1218.  
  1219. [New] (All) Listbox: CellClick event added. It occurs when the user
  1220.       clicks the mouse on the cell of a listbox. The event will pass you
  1221.       the row and column of the cell clicked and the x, and y position
  1222.       of the click which are relative to the top left of the cell and
  1223.       correspond exactly with the bounds of the graphics property in the
  1224.       CellBackgroundPaint event. Returning true from this function will
  1225.       cause the event to not be processed further (this means that
  1226.       editable cells won't be editable and listbox selection won't
  1227.       change.
  1228.  
  1229. [New] (All) Listbox: CellGotFocus event added. It occurs when a user
  1230.       enters an editable cell of a listbox. The event will pass you the
  1231.       row and column of the cell that just got the focus.
  1232.  
  1233. [New] (All) Listbox: CellKeyDown event added. It occurs when the user
  1234.       presses a key on the keyboard whilst a listbox cell is currently
  1235.       being edited. The event will pass you the row and column of the
  1236.       cell being edited and the key pressed. returning true from this
  1237.       function will prevent the text from changing (at least
  1238.       automatically, you can do it yourself (see ActiveCell property),
  1239.       and keep the CellTextChange event from firing.
  1240.  
  1241. [New] (All) Listbox: CellLostFocus event added. It occurs when a user
  1242.       leaves an editable cell of a listbox either by pressing return or
  1243.       esc, or by the user clicking on another cell. The event will pass
  1244.       you the row and column of the cell that just lost the focus.
  1245.  
  1246. [New] (All) Listbox: CellTextChange event added. It occurs after the
  1247.       KeyDown event if keydown returns false. The event will pass you
  1248.       the row and column of the cell being edited.
  1249.  
  1250. [New] (All) Listbox: EditCell method added.  You pass it a row and
  1251.       column number.  It will scroll the cell into view and temporarily
  1252.       change the cell to an editable cell, setting the focus in that
  1253.       cell.
  1254.  
  1255. [New] (All) Picture: depth property added -- read-only.
  1256.  
  1257. [New] (All) RbScript: "Inherits" declaration added to implement class
  1258.       inheritance.
  1259.  
  1260. [New] (All) RbScript: Colors can now be constructed with the RGB, CMY,
  1261.       and HSV functions, and the usual color properties are available.
  1262.  
  1263. [New] (All) RbScript: destructors supported.
  1264.  
  1265. [New] (All) RbScript: IsA operator supported.
  1266.  
  1267. [New] (All) ScrollBar: MouseDown, MouseDrag and MouseUp events added.
  1268.  
  1269. [New] (All) Slider: MouseDown, MouseDrag and MouseUp events added.
  1270.  
  1271. [New] (All) TabPanel: MouseDown, MouseDrag and MouseUp events added.
  1272.  
  1273. [New] (IDE) Database: Schema Editor View Data -- column names appear at
  1274.       the top of the View Data window.
  1275.  
  1276. [New] (IDE) Database: Schema Editor View Data -- number of rows in the
  1277.       table now displayed in the title of the View Data window.
  1278.  
  1279. [New] (IDE) Database: Schema Editor View Data -- scrolling vertically
  1280.       and horizontally in the View Data window allows you to see more of
  1281.       your data.
  1282.  
  1283. [New] (IDE) External Project Items: windows, classes, and modules can
  1284.       now be stored and updated external to the project file. To do
  1285.       this, hold down Command+Option while dragging the item into a
  1286.       project file. It will be imported as a reference to the original
  1287.       file, rather than copying the data into the project. See the
  1288.       External Project Items Read Me for more details.
  1289.  
  1290. [New] (IDE) Run command: Applescriptable/Recordable.
  1291.  
  1292. [New] (IDE) Run command: changes to "Resume" while your application is
  1293.       running, to better reflect what it does and to act as an extra
  1294.       reminder that your app is already running.
  1295.  
  1296. [New] (Mac) Listbox: Editable Cells now show a focus ring when the
  1297.       contents are being edited.
  1298.  
  1299. [Chg] (All) DataControl: MovePrev method and event renamed to
  1300.       MovePrevious.
  1301.  
  1302. [Chg] (All) Listbox: top and left of a listbox draw the default
  1303.       gridlines -- this affects how the text and other elements are
  1304.       centered in the cell, and can affect appearance of top and left of
  1305.       listbox with borders that are thicker than one pixel wide.
  1306.  
  1307. [Chg] (All) StaticText: boolean result from MouseUp event removed.
  1308.  
  1309. [Chg] (IDE) Table Schema Editor: primary key not being specified when
  1310.       creating a table causes an alert to appear.
  1311.  
  1312. [Chg] (Win) EditField: single line editfields can now accept tabs.
  1313.  
  1314. [Fix] (All) Database: PostgreSQL plugin -- getting the field schema
  1315.       values by field name now works. Example:
  1316.       schema.field("FieldType").getString
  1317.  
  1318. [Fix] (All) Listbox: Horizontal scrolling code is no longer called twice
  1319.       resulting in better performance, and less flicker on Win32.
  1320.  
  1321. [Fix] (All) Quit: calling in code and selecting from the menu now
  1322.       behaves consistently.
  1323.  
  1324. [Fix] (All) RbScript: State property is now readable.
  1325.  
  1326. [Fix] (All) Self.Close: no longer crashes when called from within an
  1327.       event from a plugin. Was broken in 4.0a2.
  1328.  
  1329. [Fix] (All) Socket:running a second time, after the first run died due
  1330.       to an error or the Kill command, no longer crashes.
  1331.  
  1332. [Fix] (IDE) Controls: duplicated custom controls no longer lose their
  1333.       super setting.
  1334.  
  1335. [Fix] (IDE) Database: Schema Editor View Data -- works again (broken
  1336.       since 4.0a2).
  1337.  
  1338. [Fix] (Mac) EditField: crash in new EditField caused by deleting a range
  1339.       of text that includes the selection has now been fixed.
  1340.  
  1341. [Fix] (Mac) EditField: drag-selecting a large block of text no longer
  1342.       causes an assertion failure.
  1343.  
  1344. [Fix] (Mac) Listbox: Checkboxes and disclosure triangles now draw within
  1345.       the bounds of the listbox. was broken in 4.0a1.
  1346.  
  1347. [Fix] (Mac) Listbox: Disclosure Triangle of a hierarchical listbox no
  1348.       longer moves down a pixel when clicked on.
  1349.  
  1350. [Fix] (Mac) Listbox: drawing origin of a listbox no longer gets
  1351.       corrupted when a user updates another control from within the
  1352.       CellBackgroundPaint or the CellTextPaint events. (4 alpha)
  1353.  
  1354. [Fix] (Mac) Listbox: white line at the bottom of each row in a
  1355.       hierarchical listbox is now covered again by single line width
  1356.       borders.
  1357.  
  1358. [Fix] (Mac) MacOS 8.1 (and earlier) compatibility: ATSUnicodeLib not
  1359.       being present no longer prevents launch.
  1360.  
  1361. [Fix] (OSX) Bundle Information: UTF-8 encoding now properly implemented,
  1362.       which fixes problems with the application name as it appears in
  1363.       the menu bar where non-Roman characters are involved.
  1364.  
  1365. [Fix] (OSX) Compiler:running your program in the IDE under Mac OS X
  1366.       (especially 10.1), or in classic Mac OS when the IDE's memory
  1367.       partition is set to 64MB or larger no longer crashes.
  1368.  
  1369. [Fix] (Win) Listbox: text color set in the Windows Control Panels used
  1370.       for text color again.
  1371.  
  1372. [Fix] (Win) Quit: calling Quit in code no longer finishes executing code
  1373.       in the method that was calling it.
  1374.  
  1375. [Fix] (Win) Socket: destroying a socket no longer causes extraneous
  1376.       socket events to be fired.
  1377.  
  1378.  
  1379.  
  1380. 4.0a2 -- 2001/10/08
  1381. [New] (All) Canvas: Focus and Key properties and events added. 3 new
  1382.       properties: UseFocusRing, AcceptFocus, and AcceptTabs and 3 new
  1383.       events:GotFocus, LostFocus, and KeyDown. See the New Canvas ReadMe
  1384.       for more details.
  1385.  
  1386. [New] (All) Database: 4D Plugin -- blob comparison now works.
  1387.  
  1388. [New] (All) Database: REALdb -- blob comparison now works.
  1389.  
  1390. [New] (All) GroupBox: MouseDown, MouseDrag, and MouseUp events added.
  1391.  
  1392. [New] (All) Line control: MouseDown, MouseDrag, and MouseUp events
  1393.       added.
  1394.  
  1395. [New] (All) Listbox: CellBackgroundPaint event added. You can now paint
  1396.       to your hearts content here. If you don't return a value or you
  1397.       return false REALbasic will attempt to handle row highlighting,
  1398.       and column highlighting for you (where appropriate). If you return
  1399.       true, you can handle this yourself.
  1400.  
  1401. [New] (All) Listbox: CellTextPaint event added. You are passed x and y
  1402.       which is ideal position to draw your original text based on the
  1403.       columnAlignment. You can draw the text yourself or you can change
  1404.       the state of the graphics object and have it draw it for you.
  1405.       (e.g. g.foreColor = RGB(255, 0, 0) will direct it do draw red
  1406.       text). REALbasic will attempt to perform appropriate
  1407.       CellHighlighting on hierarchical listboxes if you return false. If
  1408.       you return true you can handle this yourself.
  1409.  
  1410. [New] (All) Listbox: DefaultRowHeight is a new property on the listbox
  1411.       which determines the height of every row of the listbox. To have
  1412.       the height determined automatically based on the font height
  1413.       chosen, set the DefaultRowHeight to -1.
  1414.  
  1415. [New] (All) Oval control: MouseDown, MouseDrag, and MouseUp events
  1416.       added.
  1417.  
  1418. [New] (All) ProgressBar: MouseDown, MouseDrag, and MouseUp events added.
  1419.  
  1420. [New] (All) Rb3DSpace: fog support added through two new properties:
  1421.       FogVisible (Boolean) indicates whether fog should be drawn at all;
  1422.       FogStart (Integer) indicates how far away from the camera the fog
  1423.       should begin. The fog gets thicker from that point (or Hither,
  1424.       whichever is further away) until the Yon distance, where it is
  1425.       fully opaque. The fog color is the same as the SkyColor.
  1426.  
  1427. [New] (All) RbScript: Class/End Class structure now supported -- used to
  1428.       define classes for use inside a script. Properties and methods are
  1429.       supported; inheritance and interfaces are not.
  1430.  
  1431. [New] (All) Rectangle control: MouseDown, MouseDrag, and MouseUp events
  1432.       added.
  1433.  
  1434. [New] (All) RoundRect control: MouseDown, MouseDrag, and MouseUp events
  1435.       added.
  1436.  
  1437. [New] (IDE) Project Items: dragging a project item (such as an
  1438.       AppleScript) onto a button or into a code editor now inserts at
  1439.       least the name of that item.
  1440.  
  1441. [New] (Mac) EditField: EditFields now use the new underlying technology
  1442.       (in MacOS 8.5 and later). It's still not quite done yet, but
  1443.       nearly so.
  1444.  
  1445. [New] (Mac) EditField: Symbol font, as well as accented and other
  1446.       high-ASCII characters, are now supported by the new unstyled
  1447.       EditFields (in addition to other improvements too numerous to
  1448.       mention).
  1449.  
  1450. [New] (Mac) File Name Extensions: Open dialogs -- filters files by
  1451.       extension if they have no type code set (as happens with some
  1452.       ill-behaved Mac OS X applications). In other words, a file will be
  1453.       available in an Open dialog if either its MacType matches the type
  1454.       you specified, or if its MacType is '????' or null but its
  1455.       extension matches one of the extensions you specified in the File
  1456.       Type settings.
  1457.  
  1458. [New] (OSX) Control Captions: region codes other than that of the
  1459.       application now supported. Some OS controls (such as PushButton)
  1460.       can now show a caption that uses an encoding that doesn't match
  1461.       your application's region code (or while running within the IDE,
  1462.       the IDE's region code). For example, an English application can
  1463.       set a Japanese caption, as long as it first sets the button's
  1464.       TextFont to Osaka. (This has always worked in classic MacOS, but
  1465.       did not previously work in Mac OS X.).
  1466.  
  1467. [New] (OSX) File Name Extensions: FolderItem.DisplayName -- property
  1468.       added which gives you the name of a file as it should be seen by
  1469.       the user. This property is read-only. The DisplayName is usually
  1470.       the same as FolderItem.Name, but under Mac OS 10.1, it may be the
  1471.       name without the extension, depending on whether the user has file
  1472.       extensions hidden for that particular file.
  1473.  
  1474. [New] (OSX) File Name Extensions: FolderItem.ExtensionVisible --
  1475.       property added which allows you to tell (or change) whether a
  1476.       given file has its file extension hidden or visible, or change
  1477.       that status. Currently applies only under Mac OS 10.1. Note that
  1478.       when you change this setting, the Finder or subsequent Navigation
  1479.       dialogs may not reflect the change right away.
  1480.  
  1481. [New] (OSX) File Name Extensions: FolderItems -- creating a new file
  1482.       (e.g., via CreateAsTextFile) sets the "hide extension" flag
  1483.       according to the value of the ExtensionVisible property.
  1484.  
  1485. [New] (OSX) File Name Extensions: GetSaveFolderItem and SaveAsDialog --
  1486.       now present the Mac OS 10.1 user with a new "Hide Extension"
  1487.       checkbox, on by default. The FolderItem returned has its
  1488.       ExtensionVisible property set according to the user's use of this
  1489.       checkbox.
  1490.  
  1491. [New] (OSX) FolderItem.Launch: behaves the same as double-clicking the
  1492.       item in the Finder.
  1493.  
  1494. [New] (OSX) Progress Bars: larger appearance now supported when the
  1495.       height is set to 18 pixels or more.
  1496.  
  1497. [New] (Win) Windows: MDIWindow class added to the application class.
  1498.       This class is used to control the behavior of the MDI window on
  1499.       Windows. See the MDI Window Class Read Me for more details.
  1500.  
  1501. [Chg] (Car) File Name Extensions: Carbon built applications -- file
  1502.       extensions are now written to the 'plst' resource without the
  1503.       leading period, per Apple standards.
  1504.  
  1505. [Chg] (IDE) File Name Extensions: Project Files -- now have ".rb"
  1506.       appended to the project name if not there already when doing a
  1507.       "Save As". Under versions of Mac OS prior to 10.1, you can easily
  1508.       change or remove this if you wish. Under 10.1 the extension may be
  1509.       hidden by default, depending on your system preferences.
  1510.  
  1511. [Chg] (IDE) Interfaces: Adding new interfaces to the project previously
  1512.       resulted in a project entity named "Class1" or "Class2" etc. Now
  1513.       it results in a project item named "Interface1" or "Interface2"
  1514.       etc.
  1515.  
  1516. [Fix] (All) CheckBox: datasource can now be set in code. Note that this
  1517.       parameter takes a string argument. i.e. CheckBox.DataSource =
  1518.       DataControl.Name
  1519.  
  1520. [Fix] (All) Database: PostgreSQL Plugin -- error code is now initialized
  1521.       to 0 before connecting.
  1522.  
  1523. [Fix] (All) Database: PostgreSQL plugin -- fieldschema now returns 5
  1524.       columns instead of 6.
  1525.  
  1526. [Fix] (All) Database: REALdb -- long varbinary column adding with Alter
  1527.       Table SQL statement now works.
  1528.  
  1529. [Fix] (All) EditField: datasource can now be set in code. Note that this
  1530.       parameter takes a string argument. i.e. EditField.DataSource =
  1531.       DataControl.Name
  1532.  
  1533. [Fix] (All) Listbox: CellBorders now form a rectangle around a cell
  1534.       (previously they would overlap into other cells and looked bad
  1535.       when applied to individual cells).
  1536.  
  1537. [Fix] (All) Listbox: Cellborders/GridLines now center themselves between
  1538.       rows and columns so that the contents are more balanced.
  1539.  
  1540. [Fix] (All) Listbox: Failed Assertion no longer occurs when removing a
  1541.       scrollbar in a Canvas's MouseUp event.
  1542.  
  1543. [Fix] (All) Listbox: FocusRing now appears after refresh, and focusrings
  1544.       are moved properly when the control moves.
  1545.  
  1546. [Fix] (All) Listbox: Hierarchical listboxes now highlight the item in
  1547.       the first column to be more consistent with the way highlighting
  1548.       is done in the Finder/Explorer.
  1549.  
  1550. [Fix] (All) Listbox: Scrolling of invisible listboxes, or listboxes on
  1551.       an invisible tab of a tab panel, by setting the scrollPosition or
  1552.       the ScrollPositionX no longer result in unwanted portions of the
  1553.       listbox appearing.
  1554.  
  1555. [Fix] (All) PopupMenu: datasource can now be set in code. Note that this
  1556.       parameter takes a string argument. i.e. PopupMenu.DataSource =
  1557.       DataControl.Name
  1558.  
  1559. [Fix] (All) RbScript: disposes of temporary data structures after
  1560.       compiling, thus plugging a memory leak that occurred on every run
  1561.       or pre-compile.
  1562.  
  1563. [Fix] (All) RbScript: For-Next loop allows floating-point loop counters
  1564.       and step values.
  1565.  
  1566. [Fix] (All) RbScript: very large integer constants are automatically
  1567.       converted to double precision if they would have exceeded the
  1568.       upper limit of a 32-bit signed integer.
  1569.  
  1570. [Fix] (All) Self.Close: no longer crashes when used inside an event such
  1571.       as MouseDown in a Canvas.
  1572.  
  1573. [Fix] (All) StaticText: datasource can now be set in code. Note that
  1574.       this parameter takes a string argument. i.e. StaticText.DataSource
  1575.       = DataControl.Name
  1576.  
  1577. [Fix] (IDE) File Types dialog: clicking the "OK" button now counts as
  1578.       changing the project, thus enabling it to be saved (or prompting
  1579.       you to save when you close the project).
  1580.  
  1581. [Fix] (IDE) GetOpenFolderItem: Open event of the default window --
  1582.       calling GetOpenFolderItem or using FolderItemDialog classes in the
  1583.       Open event of the Default window no longer crashes when called
  1584.       from when running within the IDE.
  1585.  
  1586. [Fix] (IDE) Listbox: gridlines no longer appear when not required in
  1587.       some ListBoxes in the IDE.
  1588.  
  1589. [Fix] (Mac) Listbox: editable cell's text is now visible again.
  1590.  
  1591. [Fix] (Mac) Listbox: Listboxes on a tabPanel and listboxes in the
  1592.       CodeBrowser no longer flicker when scrolling. (Mac Only)
  1593.  
  1594. [Fix] (Mac) Movies: FolderItem.OpenAsMovie -- QuickTime initializes if
  1595.       it hasn't already. Fixes a bug which caused this method to return
  1596.       nil in a built application unless something else (e.g., a Movie
  1597.       control) had already initialized QuickTime.
  1598.  
  1599. [Fix] (Run) Listbox: no longer flickers when row is selected. (Mac
  1600.       Runtime only)
  1601.  
  1602. [Fix] (Win) BalloonHelp: clearable when you already have a HelpTag set.
  1603.  
  1604. [Fix] (Win) Byref: local variables are now initialized to 0 when passed
  1605.       byref. This fixes the problem with calling ParseDate without first
  1606.       creating a new date object, and passing strings byref without
  1607.       actually using the strings in your function.
  1608.  
  1609. [Fix] (Win) Graphics: painting on a window while resizing no longer
  1610.       draws on the desktop.
  1611.  
  1612. [Fix] (Win) Listbox: Cellborders and Gridlines now work for Win32.
  1613.  
  1614. [Fix] (Win) Plug-in SDK: REALSetControlFocus function -- now fully
  1615.       clears the previous focus.
  1616.  
  1617. [Fix] (Win) Resizing: resizing a window no longer causes horrible
  1618.       flicker.
  1619.  
  1620. [Kis] (Mac) EditField: does not currently support CharPosAtLineNum,
  1621.       LineNumAtCharPos, ScrollPosition, TextStyleData, SetTextAndStyle,
  1622.       or StyledTextPrinter. (4.0a2)
  1623.  
  1624. [Kis] (Mac) File Name Extensions: "Open" dialogs: there still is no way
  1625.       to enable selection of any (say) text file, without using a
  1626.       wildcard type to allow all files. If the file on disk does not
  1627.       have a type code set, and it's using an extension you didn't think
  1628.       of when you defined your File Type, then there is simply no way to
  1629.       know that it's a valid type of file. Please direct your feedback
  1630.       about this to Apple via their Mac OS X Feedback web page.
  1631.  
  1632. [Tip] (IDE) Project Items: dragging Windows and Sounds to a button or
  1633.       code editor inserts WindowName.Show or SoundName.Play,
  1634.       respectively (using the actual name of the item, of course).
  1635.  
  1636. [Tip] (OSX) File Name Extensions: To give the proper user experience
  1637.       under Mac OS X, here's what you should do: 1. Whenever displaying
  1638.       a file name to the user (e.g. as the title of a window), use
  1639.       f.DisplayName rather than f.Name. 2. Whenever interacting with the
  1640.       file system, use the true name (f.Name). 3. Leave the
  1641.       ExtensionVisible property alone in most cases. 4. Be sure to
  1642.       define extensions for all your document types.
  1643.  
  1644.  
  1645.  
  1646. 4.0a1 -- 2001/09/24
  1647. [New] (All) Bin Function: converts a number into a string in binary
  1648.       format. See references for Oct and Hex for more detail on how this
  1649.       works.
  1650.  
  1651. [New] (IDE) ListBox: Appearance in the Window Editor reflects more
  1652.       accurately the appearance in the running application (it's
  1653.       actually a real ListBox now). Specifically Hierarchical,
  1654.       GridLinesHorizontal, GridLinesVertical are now displayed in the
  1655.       ListBox, and changing the HeadingIndex will actually re-sort the
  1656.       ListBoxes contents in the Window Editor.
  1657.  
  1658. [New] (All) ListBox: GridLines/CellBorders added to the ListBox. The
  1659.       properties are called GridLinesHorizontal and GridLinesVertical.
  1660.       You can also get/set CellBorders on cell-by-cell basis, the
  1661.       functions are called CellBorderTop(row, column),
  1662.       CellBorderLeft(row, column), CellBorderRight(row, column)  and
  1663.       CellBorderBottom(row, column).  You can set these to one of
  1664.       several styles (some of which don't work for Win32 yet).  The
  1665.       styles are default = 0, none = 1, thinDotted = 2, ThinSolid = 3,
  1666.       ThickSolid = 4, DoubleThinSolid = 5.
  1667.  
  1668. [New] (All) ListBox: HasHeading property can now be set at runtime (not
  1669.       just at compile time).
  1670.  
  1671. [New] (All) ListBox: Hierarchical property can now be set at runtime
  1672.       (not just at compile time).
  1673.  
  1674. [New] (All) Plug-in SDK: several new methods and enhancements have been
  1675.       added; see the SDK version history for details.
  1676.  
  1677. [New] (All) RbScript: Parentheses are now allowed (but not required) on
  1678.       subroutine calls.
  1679.  
  1680. [New] (IDE) Color palette: dragged colors now contain a text
  1681.       description, allowing you to drag from the color palette to the
  1682.       code editor, the desktop, or any text editor.
  1683.  
  1684. [New] (IDE) Copy-click: floating palettes now supported.  For example,
  1685.       hold the Option key and click on the name of a property in the
  1686.       Properties value, and that name will be inserted into the code
  1687.       editor as if you'd typed it.  Also works for property values,
  1688.       colors in the Color palette, and tools in the Toolbar.
  1689.  
  1690. [New] (IDE) Window Editor: contextual menu added which provides commands
  1691.       to close the window, switch to the code editor, select any control
  1692.       on the form, or add a new control based on any class.
  1693.  
  1694. [New] (Mac) EditField: single-line unstyled EditFields in MacOS 8.6 and
  1695.       higher now use a completely different underlying technology.  This
  1696.       brings benefits such as no 32K text limit and  CoreGraphics font
  1697.       rendering in OS X.  But they're still a work in progress -- see
  1698.       known issues below.
  1699.  
  1700. [New] (Mac) ListBox: Smooth scrolling with virtually no flicker -- Now
  1701.       double buffered on the Macintosh.
  1702.  
  1703. [New] (Mac) RbScript: compiles Scripts on PowerPC. Now compiled to
  1704.       machine language and executed as native code instead of running
  1705.       through an interpreter.
  1706.  
  1707. [New] (Win) ListBox: Flickers less with horizontal scrolling on Windows.
  1708.  
  1709. [Opt] (Mac) Plug-in controls: redraw only if something is refreshed
  1710.       within 4 pixels of the control bounds, instead of being redrawn
  1711.       whenever anything on the window is refreshed. (Plug-in authors
  1712.       should take care not to draw more than 4 pixels outside their
  1713.       control bounds.)
  1714.  
  1715. [Fix] (All) DataControl: database property -- setting this in code no
  1716.       longer crashes.
  1717.  
  1718. [Fix] (All) Plug-in controls: disabled controls no longer receive the
  1719.       focus.
  1720.  
  1721. [Fix] (All) RbScript: Hex, binary, and octal constants now work without
  1722.       throwing assertions.
  1723.  
  1724. [Fix] (IDE) App.Resources: running your application by choosing "Run"
  1725.       with the mouse instead of pressing command-R once again
  1726.       accessible.
  1727.  
  1728. [Fix] (IDE) Compile Errors: Windows target returns an error when
  1729.       building an application that uses the ResourceFork.
  1730.  
  1731. [Fix] (IDE) International: some data aware property strings can now be
  1732.       localized, as well as the binding strings as seen when selecting a
  1733.       bind from a dialog.
  1734.  
  1735. [Fix] (IDE) Window menu: balloon help now correctly matches the menu
  1736.       commands.
  1737.  
  1738. [Fix] (Mac) DrawInto: ListBoxes drawn via DrawInto now draw disclosure
  1739.       triangles, checkboxes, supports textSize, textFont and textStyle.
  1740.       ListBox headers are now properly clipped.
  1741.  
  1742. [Fix] (Mac) ListBox: Hierarchical ListBoxes -- now draw the column
  1743.       highlight all the way to the left in Column 0 as the finder does.
  1744.  
  1745. [Fix] (Mac) Plug-in controls: REALcontrolFocusRing flag is now observed;
  1746.       a control without this flag set will not have a focus ring drawn
  1747.       for it by REALbasic.
  1748.  
  1749. [Fix] (Win) BevelButton: caption now aligns properly when it is set
  1750.       above or below an icon picture.
  1751.  
  1752. [Fix] (Win) Canvas.Scroll: refreshes properly after scrolling.
  1753.  
  1754. [Fix] (Win) Event order consistency: App.Activate event now fires after
  1755.       the Window.Open event in MDI applications. Also, the
  1756.       Window.Activate event now fires for MDI child windows when they
  1757.       are first displayed.
  1758.  
  1759. [Fix] (Win) Event order consistency: closing an SDI application now
  1760.       suppresses extraneous EnableMenuItems and Deactivate events from
  1761.       firing.
  1762.  
  1763. [Fix] (Win) FolderItem.CreateBinaryFile: BinaryStream class returned
  1764.       instead of a TextOutputStream.
  1765.  
  1766. [Fix] (Win) Graphics.FillPolygon: passing in no points no longer
  1767.       crashes.
  1768.  
  1769. [Fix] (Win) ListBox: vertical ScrollBar moved down one pixel (it now
  1770.       looks better).
  1771.  
  1772. [Fix] (Win) MenuBarVisible: SDI applications again supported.
  1773.  
  1774. [Fix] (Win) Strings: string comparisons on Windows NT now work with
  1775.       double byte characters. Also fixes the problem with including a
  1776.       NULL character within the string, the string comparison now works
  1777.       as it does on non NT systems.
  1778.  
  1779. [Kis] (Mac) EditField: single-line unstyled EditFields currently suffer
  1780.       a variety of shortcomings, including the following; don't support
  1781.       carriage returns, not all properties/methods (e.g. SelText) are
  1782.       yet implemented, vertical line position is not always appropriate,
  1783.       font glyphs don't always match those produced by DrawString
  1784.  
  1785. [Kis] (Win) Event order consistency: Window.Activate -- if the child
  1786.       window in an MDI application is originally hidden, then displayed
  1787.       (in a timer action event for example), the Activate event will not
  1788.       fire the first time.
  1789.  
  1790.